Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

    Dim ǥ As Range
    Dim Ӹ As Range
    Dim Ĺ As Integer

    If IsEmpty(Target) Then Exit Sub

    Set ǥ = Target.CurrentRegion
    
        If ǥ.Rows.Count = 1 Then Exit Sub
    
    Set Ӹ = Cells(ǥ.Cells(1).Row, Target.Column)
    
    Select Case True
    
        Case IsNumeric(Ӹ.Offset(1)), IsDate(Ӹ.Offset(1))
            
            Ĺ = xlDescending
            
        Case Else
        
            Ĺ = xlAscending
            
    End Select
    
    ǥ.Sort Key1:=Ӹ, Order1:=Ĺ, Header:=xlYes
        
    Cancel = True

End Sub